<menu id="8mwcu"></menu>
  • <rt id="8mwcu"><code id="8mwcu"></code></rt><center id="8mwcu"><dd id="8mwcu"></dd></center>
    <center id="8mwcu"></center>
    <dl id="8mwcu"></dl><tbody id="8mwcu"><small id="8mwcu"></small></tbody>
    
    
    <tbody id="8mwcu"></tbody>
     
    技術(shù)博客INFO
    聯(lián)系我們CONTACT

    公司地址:茂名市人民南路新村大院22號(hào)101

    電話:13592986386

    ImportError無法從flask.json導(dǎo)入名稱JSONEncoder您當(dāng)前的位置:首頁 > ImportError無法從flask.json導(dǎo)入名稱JSONEncoder

    ImportError無法從flask.json導(dǎo)入名稱JSONEncoder

    發(fā)布時(shí)間:2024/9/3 21:05:44

    flask_mongoengine導(dǎo)入


    原文件路徑:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\flask_mongoengine\json.py"




    于是我就以我原有的思維認(rèn)為,這b肯定是我自己的代碼寫錯(cuò)了。∮谑,開始了我那痛苦的一天,我代碼一個(gè)一個(gè)排查,最后快崩潰的時(shí)候,上網(wǎng)查了一下,原因居然是:


    from flask_mongoengine import MongoEngine這句話和我們的flask版本不兼容,因?yàn)楹罄m(xù)的維護(hù)者沒有進(jìn)行升級(jí),導(dǎo)致一導(dǎo)入這句話就會(huì)報(bào)錯(cuò)!

    然后我就想把flask的版本降低,但是想了想,不對(duì)呀,這樣更加吃虧了呀,我很多插件是基于flask的2.3.2版本的呀,很難受那時(shí)候,然后吃了個(gè)飯,想了想,要不修改一下源代碼?說干就干,開始了我一下午的網(wǎng)絡(luò)查找答案的過程,

    最后還是靠chatgpt幫我修改了源代碼,功夫不負(fù)有心人,最后成功解決!!

    復(fù)制一下代碼覆蓋上去:


    from bson import json_util
    from json import JSONEncoder
    from mongoengine.base import BaseDocument
    from mongoengine.queryset import QuerySet
     
     
    class MongoEngineJSONEncoder(JSONEncoder):
        """
        A JSONEncoder which provides serialization of MongoEngine
        documents and queryset objects.
        """
     
        def default(self, obj):
            if isinstance(obj, BaseDocument):
                return json_util._json_convert(obj.to_mongo())
            elif isinstance(obj, QuerySet):
                return json_util._json_convert(obj.as_pymongo())
            return super().default(obj)
     
     
    def override_json_encoder(app):
        """
        A function to dynamically create a new MongoEngineJSONEncoder class
        based upon a custom base class.
        This function allows us to combine MongoEngine serialization with
        any changes to Flask's JSONEncoder which a user may have made
        prior to calling init_app.
        NOTE: This does not cover situations where users override
        an instance's json_encoder after calling init_app.
        """
        app.json_encoder = MongoEngineJSONEncoder
     
     



    美丽人妻中文字幕中出在线,97婷婷视频在线,亚洲精品午夜无码专区,人人九九精品国产 国产黄色视频在线播 亚洲精品91天天久久人人
    <menu id="8mwcu"></menu>
  • <rt id="8mwcu"><code id="8mwcu"></code></rt><center id="8mwcu"><dd id="8mwcu"></dd></center>
    <center id="8mwcu"></center>
    <dl id="8mwcu"></dl><tbody id="8mwcu"><small id="8mwcu"></small></tbody>
    
    
    <tbody id="8mwcu"></tbody>